Skip to content

[connectedmachine] release preview version 2026-06-16#10120

Open
yaotongms wants to merge 18 commits into
Azure:mainfrom
yaotongms:main
Open

[connectedmachine] release preview version 2026-06-16#10120
yaotongms wants to merge 18 commits into
Azure:mainfrom
yaotongms:main

Conversation

@yaotongms

@yaotongms yaotongms commented Jul 15, 2026

Copy link
Copy Markdown
Member

This checklist is used to make sure that common guidelines for a pull request are followed.

Related command

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install azdev required)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

🤖 PR Validation — ❌ Action needed

Breaking Changes
❌ 1
❌Azure CLI Extensions Breaking Change Test
❌connectedmachine
rule cmd_name rule_message suggest_message
1010 - ParaPropUpdate connectedmachine run-command create cmd connectedmachine run-command create update parameter script_uri_managed_identity: updated property options from ['--script-uri-id', '--script-uri-managed-identity'] to ['--script-uri-managed-id', '--script-uri-managed-identity'] please change property options from ['--script-uri-managed-id', '--script-uri-managed-identity'] to ['--script-uri-id', '--script-uri-managed-identity'] for parameter script_uri_managed_identity of cmd connectedmachine run-command create
1007 - ParaRemove connectedmachine run-command update cmd connectedmachine run-command update removed parameter source please add back parameter source for cmd connectedmachine run-command update
⚠️ 1006 - ParaAdd connectedmachine delete cmd connectedmachine delete added parameter no_wait
⚠️ 1010 - ParaPropUpdate connectedmachine extension create cmd connectedmachine extension create update parameter protected_settings: updated property aaz_type from AAZFreeFormDictArg to AAZDictArg
⚠️ 1010 - ParaPropUpdate connectedmachine extension create cmd connectedmachine extension create update parameter settings: updated property aaz_type from AAZFreeFormDictArg to AAZDictArg
⚠️ 1011 - SubgroupAdd connectedmachine extension publisher sub group connectedmachine extension publisher added
⚠️ 1011 - SubgroupAdd connectedmachine extension type sub group connectedmachine extension type added
⚠️ 1006 - ParaAdd connectedmachine extension update cmd connectedmachine extension update added parameter generic_update_add
⚠️ 1006 - ParaAdd connectedmachine extension update cmd connectedmachine extension update added parameter generic_update_force_string
⚠️ 1006 - ParaAdd connectedmachine extension update cmd connectedmachine extension update added parameter generic_update_remove
⚠️ 1006 - ParaAdd connectedmachine extension update cmd connectedmachine extension update added parameter generic_update_set
⚠️ 1006 - ParaAdd connectedmachine extension update cmd connectedmachine extension update added parameter instance_view
⚠️ 1010 - ParaPropUpdate connectedmachine extension update cmd connectedmachine extension update update parameter protected_settings: updated property aaz_type from AAZFreeFormDictArg to AAZDictArg
⚠️ 1010 - ParaPropUpdate connectedmachine extension update cmd connectedmachine extension update update parameter settings: updated property aaz_type from AAZFreeFormDictArg to AAZDictArg
⚠️ 1011 - SubgroupAdd connectedmachine identity sub group connectedmachine identity added
⚠️ 1010 - ParaPropUpdate connectedmachine license create cmd connectedmachine license create update parameter target: updated property choices from ['Windows Server 2012', 'Windows Server 2012 R2'] to ['Windows Server 2012', 'Windows Server 2012 R2', 'Windows Server 2016']
⚠️ 1006 - ParaAdd connectedmachine license list cmd connectedmachine license list added parameter resource_group
⚠️ 1006 - ParaAdd connectedmachine license update cmd connectedmachine license update added parameter generic_update_add
⚠️ 1006 - ParaAdd connectedmachine license update cmd connectedmachine license update added parameter generic_update_force_string
⚠️ 1006 - ParaAdd connectedmachine license update cmd connectedmachine license update added parameter generic_update_remove
⚠️ 1006 - ParaAdd connectedmachine license update cmd connectedmachine license update added parameter generic_update_set
⚠️ 1006 - ParaAdd connectedmachine license update cmd connectedmachine license update added parameter tenant_id
⚠️ 1006 - ParaAdd connectedmachine license update cmd connectedmachine license update added parameter volume_license_details
⚠️ 1010 - ParaPropUpdate connectedmachine license update cmd connectedmachine license update update parameter target: updated property choices from ['Windows Server 2012', 'Windows Server 2012 R2'] to ['Windows Server 2012', 'Windows Server 2012 R2', 'Windows Server 2016']
⚠️ 1001 - CmdAdd connectedmachine license validate cmd connectedmachine license validate added
⚠️ 1006 - ParaAdd connectedmachine license-profile update cmd connectedmachine license-profile update added parameter generic_update_add
⚠️ 1006 - ParaAdd connectedmachine license-profile update cmd connectedmachine license-profile update added parameter generic_update_force_string
⚠️ 1006 - ParaAdd connectedmachine license-profile update cmd connectedmachine license-profile update added parameter generic_update_remove
⚠️ 1006 - ParaAdd connectedmachine license-profile update cmd connectedmachine license-profile update added parameter generic_update_set
⚠️ 1010 - ParaPropUpdate connectedmachine license-profile update cmd connectedmachine license-profile update update parameter subscription_status: updated property choices from ['Disable', 'Enable'] to ['Disabled', 'Disabling', 'Enabled', 'Enabling', 'Failed', 'Unknown']
⚠️ 1006 - ParaAdd connectedmachine private-link-scope create cmd connectedmachine private-link-scope create added parameter service_extensions
⚠️ 1010 - ParaPropUpdate connectedmachine private-link-scope create cmd connectedmachine private-link-scope create update parameter public_network_access: updated property choices from ['Disabled', 'Enabled', 'SecuredByPerimeter'] to ['Disabled', 'Enabled']
⚠️ 1001 - CmdAdd connectedmachine private-link-scope network-security-perimeter-configuration wait cmd connectedmachine private-link-scope network-security-perimeter-configuration wait added
⚠️ 1006 - ParaAdd connectedmachine private-link-scope update cmd connectedmachine private-link-scope update added parameter generic_update_add
⚠️ 1006 - ParaAdd connectedmachine private-link-scope update cmd connectedmachine private-link-scope update added parameter generic_update_force_string
⚠️ 1006 - ParaAdd connectedmachine private-link-scope update cmd connectedmachine private-link-scope update added parameter generic_update_remove
⚠️ 1006 - ParaAdd connectedmachine private-link-scope update cmd connectedmachine private-link-scope update added parameter generic_update_set
⚠️ 1006 - ParaAdd connectedmachine private-link-scope update cmd connectedmachine private-link-scope update added parameter public_network_access
⚠️ 1006 - ParaAdd connectedmachine private-link-scope update cmd connectedmachine private-link-scope update added parameter service_extensions
⚠️ 1006 - ParaAdd connectedmachine run-command update cmd connectedmachine run-command update added parameter command_id
⚠️ 1006 - ParaAdd connectedmachine run-command update cmd connectedmachine run-command update added parameter script_uri_managed_identity
⚠️ 1006 - ParaAdd connectedmachine run-command update cmd connectedmachine run-command update added parameter script_uri
⚠️ 1006 - ParaAdd connectedmachine run-command update cmd connectedmachine run-command update added parameter script
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter client_public_key
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter expand
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter extensions
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter generic_update_add
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter generic_update_force_string
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter generic_update_remove
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter generic_update_set
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter hardware_resource_id
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter identity_key_store
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter license_profile
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter mssql_discovered
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter os_type
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter service_statuses
⚠️ 1006 - ParaAdd connectedmachine update cmd connectedmachine update added parameter tpm_ek_certificate
⚠️ 1001 - CmdAdd connectedmachine wait cmd connectedmachine wait added

Copilot AI review requested due to automatic review settings July 15, 2026 20:23
@azure-client-tools-bot-prd

Copy link
Copy Markdown
Validation for Breaking Change Starting...

Thanks for your contribution!

@azure-client-tools-bot-prd

Copy link
Copy Markdown

Hi @yaotongms,
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in setup.py as well.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the connectedmachine Azure CLI extension to a new preview release by bumping the extension version and regenerating a large set of AAZ-based command modules against the 2026-06-16-preview API, including new/updated command surfaces (e.g., extension metadata discovery, license validation, and Private Link Scope enhancements).

Changes:

  • Bump extension version to 4.0.0b1 and add corresponding release history entries.
  • Regenerate AAZ command modules to use 2026-06-16-preview, adding new commands/groups (e.g., license validate, network-profile show, private-link-scope current show, extension publisher/type list).
  • Adjust command wiring to unify list behaviors (e.g., consolidate list-by-* commands into list where appropriate).

Reviewed changes

Copilot reviewed 75 out of 76 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
src/connectedmachine/setup.py Bumps extension VERSION to 4.0.0b1.
src/connectedmachine/HISTORY.rst Adds new release history entries for preview release.
src/connectedmachine/azext_connectedmachine/custom.py Adds custom AAZ command wrappers (combined list behaviors).
src/connectedmachine/azext_connectedmachine/commands.py Overrides command table to point to new combined list commands.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_wait.py Updates API version + schema changes for run-command wait.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_show.py Updates API version + schema changes for run-command show.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_list.py Updates API version + schema changes for run-command list.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/run_command/_delete.py Updates API version for run-command delete.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_show.py Updates API version and response schema fields.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_reconcile.py Updates LRO final-state handling and API version.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/network_security_perimeter_configuration/_list.py Updates API version and response schema fields.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/current/_show.py Adds new private-link-scope current show command module.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/current/init.py Adds new command-group package exports.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/current/__cmd_group.py Adds new AAZ command group definition.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_wait.py Updates API version and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_update.py Enables generic update flow for private-link-scope update.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_show.py Updates API version and operation naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_list.py Updates API version and list-by-rg vs list routing.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_delete.py Updates API version and LRO final-state handling.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_scope/_create.py Updates API version and adds serviceExtensions support.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_resource/_show.py Updates API version and argument schema.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_link_resource/_list.py Updates API version and response schema flags.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_wait.py Updates API version and argument schema.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_update.py Updates API version, schema, and LRO final-state handling.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_show.py Updates API version and argument schema.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_list.py Updates API version and response schema flags.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/private_endpoint_connection/_delete.py Updates API version and LRO final-state handling.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/network_profile/_show.py Adds new network-profile show command module.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/network_profile/init.py Adds new command-group package exports.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/network_profile/__cmd_group.py Adds new AAZ command group definition.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_wait.py Updates API version for license wait.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_validate.py Adds new license validate command module.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_update.py Updates API version + enables generic update flow.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_show.py Updates API version for license show.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_list.py Updates API version for license list.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_list_by_rg.py Adds new license list-by-rg AAZ module.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_delete.py Updates API version and LRO final-state handling.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/_create.py Updates API version and request schema wiring.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license/init.py Exports new license modules (validate, list-by-rg).
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_wait.py Updates API version and schema helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_show.py Updates API version and schema helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_list.py Updates API version and schema helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_delete.py Updates API version and LRO final-state handling.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/license_profile/_create.py Updates API version and reorganizes arg groups.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/identity/init.py Adds new identity command-group exports.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/identity/__cmd_group.py Adds new identity command group definition.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/type/_list.py Adds new extension type list command module.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/type/init.py Adds new command-group package exports.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/type/__cmd_group.py Adds new AAZ command group definition.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/publisher/_list.py Adds new extension publisher list command module.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/publisher/init.py Adds new command-group package exports.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/publisher/__cmd_group.py Adds new AAZ command group definition.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/image/_show.py Updates API version and operation naming for extension image show.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/image/_list.py Updates API version and operation naming for extension image list.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_wait.py Updates API version and schema types for extension wait.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_show.py Updates API version and schema types for extension show.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_list.py Updates API version and schema types for extension list.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_delete.py Updates API version and LRO final-state handling.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/extension/_create.py Updates API version, schema typing, and arg aliases.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_upgrade_extension.py Updates API version and LRO final-state handling.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_install_patches.py Updates API version and extends windows patch selection args.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_delete.py Updates delete to support no-wait and LRO polling behavior.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/_assess_patches.py Updates API version and schema helper naming.
src/connectedmachine/azext_connectedmachine/aaz/latest/connectedmachine/init.py Exports additional generated modules (list-by-sub, wait).

Comment thread src/connectedmachine/HISTORY.rst
@yonzhan

yonzhan commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

connectedmachine

@VeryEarly

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@VeryEarly

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@a0x1ab

a0x1ab commented Jul 23, 2026

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@a0x1ab

a0x1ab commented Jul 23, 2026

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 79 out of 84 changed files in this pull request and generated 7 comments.

Comments suppressed due to low confidence (2)

src/connectedmachine/azext_connectedmachine/commands.py:22

  • connectedmachine license list-by-rg is removed from the command table. This is a breaking CLI surface-area change for users who still call the old command name. Please keep the command (or formally deprecate it) rather than removing it from command_table.
    src/connectedmachine/HISTORY.rst:7
  • The 4.0.0b1 HISTORY entry says 2026/06/19-preview is used for AAZ generation, but the generated command files in this PR use API version 2026-06-16-preview. This mismatch makes the changelog misleading. Also, the underline lines include trailing tab characters (after +++++) which can render oddly in RST.
4.0.0b1
+++++	
* 2026/06/19-preview is used for aaz generation. Migrated to aaz.

)
_args_schema.script_uri_managed_identity = AAZObjectArg(
options=["--script-uri-id", "--script-uri-managed-identity"],
options=["--script-uri-managed-id", "--script-uri-managed-identity"],
nullable=True,
)
_args_schema.script_uri_managed_identity = AAZObjectArg(
options=["--script-uri-managed-id", "--script-uri-managed-identity"],
Comment on lines +168 to +195
# define Arg Group "Source"

_args_schema = cls._args_schema
_args_schema.command_id = AAZStrArg(
options=["--command-id"],
arg_group="Source",
help="Specifies the commandId of predefined built-in script.",
nullable=True,
)
_args_schema.script = AAZStrArg(
options=["--script"],
arg_group="Source",
help="Specifies the script content to be executed on the machine.",
nullable=True,
)
_args_schema.script_uri = AAZStrArg(
options=["--script-uri"],
arg_group="Source",
help="Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI.",
nullable=True,
)
_args_schema.script_uri_managed_identity = AAZObjectArg(
options=["--script-uri-managed-id", "--script-uri-managed-identity"],
arg_group="Source",
help="User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.",
nullable=True,
)
cls._build_args_runcommandmanagedidentity_create_or_update_update(_args_schema.script_uri_managed_identity)
Comment on lines +15 to +16
# hide the standalone by-subscription command; `list` now covers both
self.command_table.pop("connectedmachine list-by-sub", None)
'--resource-group "{rg}" '
'--location "{location}" '
'--script "Write-Host Hello World!" '
'--source script="Write-Host Hello World!" '
Comment on lines +59 to +61
# Use the actual perimeter configuration name returned by the list command.
# The name is '<perimeterGuid>.<associationName>' assigned by Azure and cannot be guessed.
self.kwargs['perimeterName'] = nsp_configs[0]['name']

:example: sample command for run-command update
:example: Sample command for run-command update
az connetcedmachine run-command update --resource-group myResourceGroup --name myRunCommand --machine-name myMachine --subscription mySubscription --tags Tag1=Value1
@Sebby37

Sebby37 commented Jul 24, 2026

Copy link
Copy Markdown
Member

Hey @yaotongms could you address the Copilot review comments?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Auto-Assign Auto assign by bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants